library(dplyr)
library(sf)
library(DT)
library(plotly)
library(leaflet)
library(raster)
library(spData)
Carga de datos para conocer las especies de primates en Costa Rica
primates_cr <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/primates-cr-registros.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude",
"Y_POSSIBLE_NAMES=decimalLatitude"
),
quiet = TRUE
)
Se cargó capa de cantones y provincias, asignación de CRS
# Capa de cantones y provincias
cantones <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/ign/delimitacion-territorial-administrativa/cr_cantones_simp_wgs84.geojson",
quiet = TRUE
)
provincias <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/ign/delimitacion-territorial-administrativa/cr_provincias_simp_wgs84.geojson",
quiet = TRUE
)
# # Asignación de CRS
st_crs(primates_cr) = 4509
st_crs(cantones) = 4509
primates_cr <-
primates_cr %>%
st_join(cantones["canton"])
Se remonbraron los encabezados de la tabla y se procedió a visualizarla
primates_cr %>%
st_drop_geometry() %>%
dplyr::select(family, species, canton, stateProvince, eventDate) %>%
DT::datatable(
colnames = c("Familia", "Especie", "Cantones", "Provincia", "Fecha"),
options = list(
searchHighlight = TRUE,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
)
)
Se crearon las variables de las especies de primates y asignación de color para el gráfico
a <- primates_cr %>% dplyr::select(species)%>%
filter(species == "Alouatta palliata")
b <- primates_cr %>% dplyr::select(species)%>%
filter(species == "Cebus capucinus")
c <- primates_cr %>% dplyr::select(species)%>%
filter(species == "Ateles geoffroyi")
d <- primates_cr %>% dplyr::select(species)%>%
filter(species == "Saimiri oerstedii")
especies_num <- c(1994, 453, 599, 1463)
especies_nom <- c("Alouatta palliata","Cebus capucinus","Ateles geoffroyi","Saimiri oerstedii")
colors <- c('CC6666', 'FF9999', '993366', '6699CC')
primates_cr %>%
plot_ly(
labels = ~ especies_nom,
values = ~ especies_num,
type ="pie",
marker = list(colors = colors,
line =list(color = '99FF99', width = 0))) %>%
config(locale = "es") %>%
layout(
title = "Porcentaje de los primates en el país",
font = "calibri",
xaxis = list(
showgrid = FALSE,
zeroline = FALSE,
showticklabels = FALSE
),
yaxis = list(
showgrid = FALSE,
zeroline = FALSE,
showticklabels = FALSE
))
Se crearon los filtros
Mono_araña <- primates_cr %>% dplyr::select(species,stateProvince,
canton,eventDate)%>%
filter(species == "Ateles geoffroyi")
Mono_cariblanco <- primates_cr %>% dplyr::select(species,stateProvince,
canton,eventDate)%>%
filter(species == "Cebus capucinus")
Mono_congo <- primates_cr %>% dplyr::select(species,stateProvince,
canton,eventDate)%>%
filter(species == "Alouatta palliata")
Mono_ardilla <- primates_cr %>% dplyr::select(species,stateProvince,
canton,eventDate)%>%
filter(species == "Saimiri oerstedii")
pMono_araña <- paste0("<b>", "Especei: ","</b>",
(Mono_araña$species), "<br>",
"</b>", "Provincia: ","</b>",
(Mono_araña$provincia), "<br>",
"<b>", "canton: ","</b>",
(Mono_araña$canton), "<br>",
"<b>", "Fecha: ","</b>",
(Mono_araña$eventDate)
)
pMono_cariblanco <- paste0("<b>", "Especei: ","</b>",
(Mono_cariblanco$species), "<br>",
"</b>", "Provincia: ","</b>",
(Mono_cariblanco$provincia), "<br>",
"<b>", "canton: ","</b>",
(Mono_cariblanco$canton), "<br>",
"<b>", "Fecha: ","</b>",
(Mono_cariblanco$eventDate)
)
pMono_congo <- paste0("<b>", "Especei: ","</b>",
(Mono_congo$species), "<br>",
"</b>", "Provincia: ","</b>",
(Mono_congo$provincia), "<br>",
"<b>", "canton: ","</b>",
(Mono_congo$canton), "<br>",
"<b>", "Fecha: ","</b>",
(Mono_congo$eventDate)
)
pMono_ardilla <- paste0("<b>", "Especei: ","</b>",
(Mono_ardilla$species), "<br>",
"</b>", "Provincia: ","</b>",
(Mono_ardilla$provincia), "<br>",
"<b>", "canton: ","</b>",
(Mono_ardilla$canton), "<br>",
"<b>", "Fecha: ","</b>",
(Mono_ardilla$eventDate)
)
## Determinar colores para mapa raster
alt <- getData(
"worldclim",
var = "alt",
res = .5,
lon = -84,
lat = 10
)
altitud <-
alt %>%
crop(provincias) %>%
mask(provincias)
raster_c <- colorNumeric(
c("#33CCCC", "#CCFFFF", "#99FFFF"),
values(altitud),
na.color = "transparent")
## mapa de especies
primates_cr %>%
leaflet() %>%
addProviderTiles(providers$OpenStreetMap.Mapnik,
group = "OpenStreetMap") %>%
addProviderTiles(providers$Stamen.TonerLite,
group = "Stamen Toner Lite") %>%
addProviderTiles(providers$Esri.WorldImagery,
group = "Imágenes de ESRI") %>%
addRasterImage(
altitud,
colors= raster_c,
opacity= 0.8,
group= "Altitud")%>%
addCircleMarkers(
data=Mono_araña,
stroke = F,
radius=2,
fillColor= '#FF9999',
fillOpacity = 1,
popup= pMono_araña,
group= ("Mono araña")
) %>%
addCircleMarkers(
data=Mono_cariblanco,
stroke = F,
radius=2,
fillColor= '#CC9966',
fillOpacity = 1,
popup= pMono_cariblanco,
group= ("Mono cariblanco")
) %>%
addCircleMarkers(
data=Mono_congo,
stroke = F,
radius=2,
fillColor= '#CC6666',
fillOpacity = 1,
popup= pMono_congo,
group= ("Mono congo")
) %>%
addCircleMarkers(
data=Mono_ardilla,
stroke = F,
radius=2,
fillColor= '#FF9933',
fillOpacity = 1,
popup= pMono_ardilla,
group= ("Mono ardilla")
) %>%
addLayersControl(
baseGroups = c("OpenStreetMap", "Stamen Toner Lite",
"Imágenes de ESRI"),
overlayGroups = c("Mono araña", "Mono cariblanco",
"Mono congo", "Mono ardilla"
,"Altitud")
) %>%
addMiniMap(tiles = providers$Stamen.OpenStreetMap.Mapnik,
position = "bottomleft",
toggleDisplay = TRUE
)